<?php
session_start();
date_default_timezone_set('Europe/Moscow');
# Инициализируем профайлер - будем считать и процессорное время и потребление памяти
//if (function_exists('xhprof_enable'))
//	xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

// запускаем телеметрию
$timeStart = microtime(true);
$memoryStart = memory_get_usage();

// устанавливаем режим показа ошибок
error_reporting(-1 ^ E_STRICT); // выключаем стрикт

// устанавливаем путь к приложению и библиотеке
define ( 'PINENUT_LIBRARY', __DIR__ . '/../../../library' );
define ( 'PINENUT_APPLICATION', __DIR__ . '/../application' );
set_include_path ( PINENUT_LIBRARY . PATH_SEPARATOR . PINENUT_APPLICATION );

// автозагрузка
function __autoloader ($class) { 
	@include_once(strtr($class, '_\\', DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR) . '.php'); 
};
spl_autoload_extensions('.php');
spl_autoload_register('__autoloader', true);

// устанавливаем окружение
// TODO: вынести в установки, настраиваемые на веб-сервере, 
// 		 чтобы отвязать базовый код от настроек окружения полностью
define('PINENUT_DEBUG', true); // включает режим отладки 
//define('PINENUT_ENV', 'dev/kosh'); // подключает соответствующую конфигурацию
define('PINENUT_LOG_FILE', __DIR__.'/../log.txt'); // файл для логирования 


// настраиваем приложение
\Application::libraryPath (PINENUT_LIBRARY);
\Application::applicationPath (PINENUT_APPLICATION);
\Application::isDebug (PINENUT_DEBUG);
//\Application::environment (PINENUT_ENV);
\Application::logFile (PINENUT_LOG_FILE);

// выполняем запрос
\Application::run();	

// отображаем телеметрию
$memoryFinish = memory_get_usage();
$memoryPeak = memory_get_peak_usage();
$timeFinish = microtime(true);
// echo sprintf("<pre>%0.2fKb/%0.2fKb, %1.2fms</pre>", 
// 	($memoryFinish-$memoryStart)/1024, 
// 	($memoryPeak-$memoryStart)/1024,
// 	($timeFinish - $timeStart)*1000);
	
//if (function_exists('xhprof_enable')) {
//	# Останавливаем профайлер
//	$xhprof_data = xhprof_disable();
//	
//	# Сохраняем отчет и генерируем ссылку для его просмотра
//	include_once "xhprof_lib/utils/xhprof_lib.php";
//	include_once "xhprof_lib/utils/xhprof_runs.php";
//	$xhprof_runs = new XHProfRuns_Default();
//	$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test");
//	echo "<a href=\"http://xhprof.dev/index.php?run=$run_id&source=xhprof_test\">Profiler report</a>"; # Хост, который Вы настроили ранее на GUI профайлера
//	echo "\n";
//}
